This invention relates generally to global positioning systems (GPS) and, more particularly, to techniques for improving the speed and accuracy of signal processing by GPS receivers. The invention is in part related to the subject matter of U.S. Pat. No. 4,972,431, issued in the name of Richard G. Keegan, entitled "P-Code-Aided Global Positioning System Receiver." Much of the background material provided in that patent is also pertinent to the present invention and is repeated here for convenience. U.S. Pat. No. 4,972,431 is hereby incorporated by reference into this specification.
In the terminology of GPS (Global Positioning System), the invention relates to techniques for obtaining P-code and phase measurements of the suppressed carrier signals known as L1 and L2, in spite of "anti-spoofing" encryption of the P-code signals that modulate L1 and L2. As will be described, "code" measurements are measurements of the apparent distances or "pseudoranges" of satellites with respect to a receiver, as determined from event times of the codes or signals used to modulate L1 and L2.
There is an important advantage to obtaining access to the L1 or L2 carrier signal, or to both L1 and L2 carriers. Measurement of carrier phase provides a higher level of relative or differential position-finding accuracy than is available from code measurements alone. Although this can be accomplished with the L1 carrier signal alone, access to L2 permits much faster resolution of carrier cycle ambiguities and also enables phase correction of the ionospheric refraction error.
GPS, also called NAVSTAR, is a system for determining the position of a user on or near the earth, from signals received from multiple orbiting satellites. When the system is fully deployed, the satellites will be arranged in multiple orbit planes, such that signals can be received from at least four satellites at any point on or near the earth with an unobstructed view of the sky.
The orbits of the spacecraft are determined with accuracy from fixed ground stations and are relayed back to the spacecraft. In navigation applications of GPS, the latitude, longitude and altitude of any point close to the earth can be calculated from the times of propagation of electromagnetic energy from four or more of the spacecraft to the point on or near the earth. In general, at least four satellite signals need to be received at a ground station in order to determine the complete position, since there are four unknown quantities. Three of the unknowns are the three-dimensional position coordinates, which may be conveniently expressed in terms of latitude, longitude and altitude, and the fourth unknown quantity is a time difference or offset between timing clocks on the satellites and a timing clock at the receiver.
The nature of the signals transmitted from GPS satellites is well known from the literature, and will be described in more detail in the description of the preferred embodiment of the invention. In brief, each satellite transmits two spread-spectrum signals in the L band, known as L1 and L2, with separate carrier frequencies. Two signals are needed to eliminate an error that arises due to the refraction of the transmitted signals by the ionosphere. The satellite signals are modulated by two pseudorandom codes, one referred to as the C/A (coarse/acquisition) code, and the other referred to as the P (precise) code, and by a slower-varying data signal defining the satellite orbits and other system information. A pseudorandom code sequence is a series of numbers that are random in the sense that each one bears no discernible relation to the ones that precede it, but are not truly random, because the sequence is deterministic and repeats itself cyclically.
When a binary pseudorandom code is used to biphase-modulate the phase of a carrier signal, the result is a signal having a spectral density that follows a [(sin x)/x].sup.2 distribution, where x is proportional to frequency offset from the carrier frequency. This "spread spectrum" signal has the advantage of being more immune to jamming or interference than a narrowband signal. A signal modulated by a pseudorandom code has the useful property that, when the signal is properly correlated with a replica of the same pseudorandom code, most of the spread spectrum energy is mapped into a narrow peak in the frequency spectrum, but only if the two correlated signals are properly synchronized in time. This property can be used to identify and separate signals from multiple satellites, by correlating a received signal with multiple locally generated pseudorandom code sequences. Each GPS satellite uses unique P code and C/A code sequences, which are publicly known. Therefore, a particular satellite is identifiable by the correlation of a received signal with a locally generated code sequence corresponding to that satellite. Once a received signal is identified and decoded, the receiver can measure an apparent transmission time from the satellite, from which an apparent range, or pseudo-range, is computed. Signals transmitted from each satellite define the time and position of the satellite at certain signal epochs whose times of reception can be measured at the receiver. The transmit times are all measured with reference to a common time base referred to as GPS system time. Each receiver uses its own local time reference for recording the receive times of signals from the satellites. Thus, each receiver has knowledge of the transmit times measured in GPS system time and the receive times measured in local time. If there is at least one more satellite signal than there are positional unknown quantities, the time differential between the local time and satellite time can be determined along with the positional unknown quantities. For example, four satellite signals are needed to find three positional unknowns and the time differential. From the pseudo-range data, the position of the receiver on or near the earth can be computed to a high degree of accuracy, depending on the accuracy of the orbit data.
For most civil navigation applications, such as for navigation at sea, only the C/A code is needed and errors due to ionospheric refraction can be ignored. Such a receiver performs its computations based on an analysis of the C/A code signal modulated onto the L1 carrier frequency. However, for more precise differential or survey applications, use of the P code modulated onto the L1 and L2 carriers, as well as the C/A code modulated onto the L1 carrier, provides a more precise determination of relative position because the availability of signals at two different carrier frequencies allows compensation for ionospheric refraction errors, which have a well known frequency dependence.
Survey applications differ from purely navigational applications of GPS in two principal respects. First, survey work requires a higher level of accuracy than most navigational applications. Fortunately, this higher accuracy can be obtained because of a second distinction between the two types of applications, which is that survey work for the most part involves measurements of the position of one point with respect to another, rather than the absolute determination of position. In most survey work, a benchmark or reference position is known to a high degree of accuracy, and the relative positions of other points are determined with respect to the benchmark. A line between the benchmark and another point is sometimes referred to as a baseline.
The high accuracy demanded by survey applications of GPS can best be obtained by recovering at least one of the satellite carrier signals, L1 or L2, at two receivers positioned at the ends of the baseline, and measuring the phase of the carrier at synchronized time points at the two positions. The L1 carrier signal has a wavelength of approximately 19 centimeters (cm). If its phase can be determined to an accuracy of less than approximately ten degrees, distance measurements can be made to an accuracy of better than five millimeters.
One difficulty in making distance measurements based on carrier phase detection is that of resolving ambiguities in the carrier signal phase. Once a receiver has acquired or locked onto an incoming carrier signal, each successive cycle of the carrier is identical, and the receiver may be unable to determine which cycle is being received at any instant in time. The actual approach used by survey instruments to resolve this carrier cycle ambiguity is to solve for the position of the instrument to an accuracy level of one carrier cycle, i.e. to an accuracy of .+-.9.5 cm. Two possible ways of determining the position to this level of accuracy are either to use a sufficient number of pseudo-range measurements or to use integrated Doppler measurements with sufficient geometry between endpoints. The first method uses a large number of pseudo-range (or code) measurements to average out the noise in each individual measurement. This may be viable for P-code measurements since each P code chip is only 30 meters long and the thermal noise of each sample causes an error of only a few meters (neglecting signal multipath effects). However, with C/A code measurements the approach is less viable, since the chip length is 300 meters and the error due to noise is similarly larger (with multipath effects also being more pronounced). The second approach to position determination based on carrier phase measurements is similar to hyperbolic navigation measurements used in other systems, such as Loran-C and Transit. This method develops several (one for each satellite begin tracked) hyperbolic lines-of-position defined by a range difference between two positions of the same satellite as it traverses its orbit. The range difference is determined by the integrated carrier phase (integrated Doppler) measurements of the received signal between the two endpoints defined by the two satellite positions. The accuracy of the measurement is largely determined by the separation of the endpoints (the geometry of the measurement), and the accuracy required from each measurement is largely determined by the relative geometries between the satellites. In any event, by use of one of these techniques, the phase ambiguity of the received carrier signal is resolved, i.e., it is possible to determine which cycle is being received, and phase measurements within one cycle then permit very precise measurements to be made.
The difficulty with this approach is that it may take an inconveniently long time to accumulate enough measurement samples to eliminate the carrier cycle ambiguities. A faster technique uses the difference frequency L1-L2 to reduce the measurement accuracy needed to resolve carrier cycle ambiguities. The difference or beat frequency L1-L2 has a frequency of approximately 350 MHz and a wavelength of approximately 86 cm. Therefore, there are about 4.5 cycles of the L1 carrier for one cycle of the difference frequency. In essence, then, each receiver need only accumulate enough samples to determine position to within 86 cm., as compared with 19 cm., in order to resolve the carrier cycle ambiguities. This is one of two reasons why access to the L2 GPS signal is highly important for survey applications. With access to L1 only, a large number of samples must be accumulated at each receiver in order to resolve carrier cycle ambiguities during post-processing.
The other reason that access to L2 is important is to compensate for ionospheric effects on the GPS signals. Since different frequencies are refracted differently by the ionosphere, the effect of ionospheric refraction on a GPS signal can be determined with good accuracy by observing the phase changes between the two signals. The L1 and L2 signals are coherent when transmitted (i.e. derived from the same oscillator). The relative phase of the two carriers upon reception provides a measure of the ionospheric refraction effect, and the phase of L1 can be compensated accordingly. When measuring short baselines, ionospheric compensation is of little value, since the transmission paths to both receivers are practically identical. However, for longer baseline measurements, the signals received take substantially different paths through the ionosphere, and compensation is needed for accurate results.
In an effort to ensure that the P code cannot be generated by bogus transmitters attempting to "spoof" the system, the United States Government, which operates the GPS system, has implemented an "anti-spoofing" measure. The P code will be encrypted by complementing certain of the P-code bits in some manner, during at least part of the time that the system is in operation. The government can turn the encryption on or off as desired. For the system to be used as intended, received encrypted P-code signals must be correlated with a locally generated encrypted P-code sequence. Without knowledge of the encryption process or access to an encryption key, the measurement of pseudo-ranges from the encrypted P-code using currently available receiver technology is a practical impossibility.
As mentioned earlier, the GPS signals are intended to be recovered by correlating each incoming signal with a locally generated replica of the code: P-code or C/A code. The carrier in the GPS signals is totally suppressed when the modulating signal is a pseudorandom code sequence like the P code or the C/A code. In other words, the received L1 or L2 signal contains no component at the L1 or L2 frequency. Yet it is important for survey applications to be able to reconstruct the L1 and L2 carriers and to measure their phases. So long as the P-code is not encrypted, the L1 or L2 carrier is easily recovered by correlation of the received signal with the locally generated P code replica (or C/A code for L1). The locally generated code is adjusted in timing to provide an optimum correlation with the incoming signal. The correlation output is then a single narrowband peak centered at the carrier frequency. That is to say, recovery of the carrier is the natural result of the correlation process used to identify and separate incoming GPS signals. Moreover, the carrier recovered by correlation provides the best available signal-to-noise ratio.
Although the L1 or L2 carrier cannot be recovered by the P-code correlation process when the P code is encrypted, the second harmonic of the carrier phase can be recovered by squaring the incoming signal; that is, multiplying the signal by itself. As is well known, this has the effect of removing all biphase modulation from the signal and producing a single-frequency output signal at twice the frequency of the suppressed carrier. Systems using this technique often recover the L1 carrier phase with the C/A code and the L2 carrier signal by squaring, regardless of whether or not the modulating P code is encrypted. Two serious drawbacks to this procedure are that, first, squaring the signal also squares its noise component and, second, squaring effectively halves the wavelength and causes half-cycle ambiguity. The resulting signal-to-noise ratio for the recovered carrier signal is significantly degraded by the squaring process, e.g., by 30 dB (decibels) or more compared with the ratio for the carrier recovered by correlation.
The aforementioned Keegan patent (U.S. Pat. No. 4,972,431) is directed to an improved squaring technique for recovering the L1 or L2 carrier and obtaining P-code pseudo-range measurements from signals received from GPS satellites, even when the P-code signals are encrypted. A received signal is correlated with a locally generated replica of the P-code sequence and then bandpass filtered before squaring the resulting signal. Bandpass filtering before squaring significantly improves the signal-to-noise ratio, as compared with simply squaring across a large bandwidth.
Another known technique for improving GPS receiver performance is to cross-correlate received L1 and L2 signals in order to derive an equivalent carrier signal at the L1-L2 frequency. This is possible because L1 and L2 are modulated with the same P-code. Cross-correlation has a significant advantage over squaring techniques, in that the full 86 cm wavelength is obtained instead of half that value with squaring techniques. As discussed above, the wavelength of the L1 carrier signal is approximately 19 centimeters, and the elimination of carrier cycle ambiguity requires that the GPS receiver position be determined to an accuracy of .+-.9.5 cm. If a squaring technique is used to recover the encrypted L2 signal, the result is a double frequency component (2L2) with a wavelength of 12.2 cm. The best, i.e. largest, carrier cycle ambiguity that can be obtained using a squaring technique using frequency 2L1-2L2 is given by the wavelength of approximately 43 cm, and the required positional accuracy is approximately .+-.21.5 cm. However, if the L1 and L2 signals are cross-correlated, the resulting signal is of frequency L1-L2, with a carrier cycle ambiguity of approximately 86 cm and a required positional accuracy of approximately .+-.43 cm.
There are two significant drawbacks involved with cross-correlating the L1 and L2 signals. One is that the technique still has the low signal-to-noise characteristics associated with a conventional squaring approach. The other is that the L1 and L2 signals will not, in general, be coherent because of ionospheric effects. The L2 signal will be delayed in the ionosphere, to a varying degree, as compared with the L1 signal. Because the delay may exceed the P-code chip duration, some form of time compensation is required before the two received signals can be correlated.
The present invention provides solutions to these difficulties and has additional advantages over the prior art.